Printed natural-language documents continue to represent a widely used communications medium among individuals, within organizations, and for distribution of information among information consumers. With the advent of ubiquitous and powerful computational resources, including personal computational resources embodied in smart phones, pads, tablets, laptops, and personal computers, as well as larger-scale computational resources embodied in cloud-computing facilities, data centers, and higher-end servers within various types of organizations and commercial entities, natural-language information is, with increasing frequency, encoded and exchanged in electronic documents.
Printed documents are essentially images, while electronic documents contain sequences of numerical encodings of natural-language symbols and characters. Because electronic documents provide advantages in cost, transmission and distribution efficiencies, ease of editing and modification, and robust-storage over printed documents, an entire industry supporting methods and systems for transforming printed documents into electronic documents has developed over the past 50 years.
Computational optical-character-recognition methods and systems and electronic scanners together provide reliable and cost-effective imaging of printed documents and computational processing of the resulting digital images of text-containing documents to generate electronic documents corresponding to the printed documents.
With the advent of camera-containing smart phones and other mobile, processor-controlled imaging devices, digital images of text-containing documents can be generated by a large variety of different types of ubiquitous, hand-held devices, including smart phones, inexpensive digital cameras, inexpensive video surveillance cameras, and imaging devices included in mobile computational appliances, including tablets and laptops.
Digital images of text-containing documents produced by these hand-held devices and appliances can then be processed, by computational optical-character-recognition systems, including optical-character-recognition applications (also referred to Optical Character Recognition (OCR) processing) in smart phones or those implemented on a server, to produce corresponding electronic documents.
In the locally-implemented OCR processing function, the hand-held device can implement the OCR function and process the digital image to produce a recognized text document. Alternatively, the digital image captured by the user electronic device (either in a compressed form or as is) is transmitted, via a communication network, to a server of the optical-character-recognition systems for performing the server-based OCR function. The server then (i) receives the digital image, (ii) de-compresses the compressed digital image to obtain a de-compressed digital image (in those scenarios where the image is transmitted in a compressed form between the hand held device and the server), and (iii) executes the server-based OCR function to generate a recognized text document based on the digital image, the recognized text document based containing text generated on the basis of the digital image. The server can then transmit back the recognized text document to the user electronic device via the communication network (in an original or a compressed state thereof).
Typically, the locally-executed OCR function tends to result in a lower quality of the output of the OCR compared to the server-based OCR function (as the locally-executed OCR systems tend to be less complex than the server-executed OCR systems due to the typically limited computational resources available on the hand-held device compared to the server dedicated to the server-based OCR function).
In either case, whether the OCR function is executed locally or on the server, the OCR function involves some degree of pre-processing of the digital image in order to reduce the number of artefacts in the digital image (i.e. reducing noise, reducing optical blur, etc.). As part of the OCR function, either the hand-held device or the server executes a binarization and computational-intensive OCR routines.